Surveillance de Réseau avec Nagios sur Raspberry Pi
Apprenez à installer et configurer Nagios sur un Raspberry Pi pour surveiller les performances et la disponibilité de votre réseau.
Prérequis
- Un Raspberry Pi avec Raspbian installé
- Accès à Internet
- Une connexion SSH au Raspberry Pi
Étape 1: Mise à jour du Système
Commencez par mettre à jour votre système :
sudo apt-get update
sudo apt-get upgrade -y
Étape 2: Installation de Nagios
Installez les dépendances nécessaires :
sudo apt-get install -y autoconf gcc libc6 make wget unzip apache2 apache2-utils php libgd-dev
Téléchargez et extrayez Nagios :
wget https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.4.6.tar.gz
tar xzf nagios-4.4.6.tar.gz
Compilez et installez Nagios :
cd nagios-4.4.6
sudo ./configure --with-httpd-conf=/etc/apache2/sites-enabled
sudo make all
sudo make install-groups-users
sudo usermod -a -G nagios www-data
sudo make install
sudo make install-daemoninit
sudo make install-commandmode
sudo make install-config
sudo make install-webconf
sudo a2enmod rewrite
sudo a2enmod cgi
Étape 3: Configuration de Nagios
Créez un utilisateur pour accéder à l'interface web :
sudo htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
Redémarrez Apache :
sudo systemctl restart apache2
Étape 4: Installation des Plugins Nagios
Téléchargez et installez les plugins Nagios :
wget https://nagios-plugins.org/download/nagios-plugins-2.3.3.tar.gz
tar xzf nagios-plugins-2.3.3.tar.gz
cd nagios-plugins-2.3.3
sudo ./configure
sudo make
sudo make install
Étape 5: Démarrage de Nagios
Démarrez le service Nagios :
sudo systemctl start nagios
Vérifiez que Nagios fonctionne correctement :
sudo systemctl status nagios
Étape 6: Accès à l'Interface Web
Accédez à l'interface web de Nagios :
http:///nagios
Ajouts Électroniques
Indicateur LED pour l'État du Réseau
Ajoutez des LED pour signaler l'état des services :
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BCM)
GREEN_LED = 17
YELLOW_LED = 27
RED_LED = 22
GPIO.setup(GREEN_LED, GPIO.OUT)
GPIO.setup(YELLOW_LED, GPIO.OUT)
GPIO.setup(RED_LED, GPIO.OUT)
def update_status(status):
GPIO.output(GREEN_LED, status == "OK")
GPIO.output(YELLOW_LED, status == "WARNING")
GPIO.output(RED_LED, status == "CRITICAL")
Afficheur LCD pour Résumé des Services
Connectez un écran LCD pour afficher l'état des services Nagios :
import smbus
from time import sleep
bus = smbus.SMBus(1)
address = 0x27
# Ajouter les fonctions pour configurer et écrire sur l’écran.
Détection des Intrusions Physiques
Ajoutez un capteur PIR pour détecter les intrusions :
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BCM)
PIR_PIN = 4
GPIO.setup(PIR_PIN, GPIO.IN)
def detect_intrusion():
if GPIO.input(PIR_PIN):
print("Intrusion détectée !")